package com.css.fxfzysx.modules.vabStructure.repository;

import com.css.fxfzysx.base.response.RestResponse;
import com.css.fxfzysx.modules.cztDataMange.entity.CbhdInfoEntity;
import com.css.fxfzysx.modules.cztDataMange.entity.CbvInfoMatrixValueEntity;
import com.css.fxfzysx.modules.vabStructure.entity.CztBuildingMatrixEntity;
import com.css.fxfzysx.modules.vabStructure.param.BuildingStructureParam;
import com.css.fxfzysx.modules.vabStructure.vo.GenerateVulnerabilityMatrixVo;

import java.util.HashMap;
import java.util.List;

public interface SvAnalysisRepository {

    List<GenerateVulnerabilityMatrixVo> getDataPercentageByNumbers(String numbers,String intensity);

    HashMap<String,Object> queryBuildings(CbhdInfoEntity cbhdInfoEntity, int page, int size);

    List<BuildingStructureParam> queryBuildingStructure(BuildingStructureParam buildingStructureParam);

    HashMap<String,Object> queryPredictiveData(CbhdInfoEntity cbhdInfoEntity, int page, int size);

    HashMap<String,Object> queryFilterData(CbhdInfoEntity cbhdInfoEntity, int page, int size);

    List<GenerateVulnerabilityMatrixVo> getDataPredictiveByNumbers(String ids, String intensity,Integer type);

    List<CbhdInfoEntity> getEarthquakeDamageData(String numbers,Integer type);

    void saveBuildingMatrix(CztBuildingMatrixEntity cztBuildingMatrix);

    HashMap<String,Object> getVulnerabilityMatrix(CztBuildingMatrixEntity cztBuildingMatrixEntity, int page, int size);

    CztBuildingMatrixEntity getBuildingMatrixById(String matrixId);

    void moveBasicLibraryById(String dataId,String operate);

    Integer getBuildingMatrix(String numbers);

    List<CztBuildingMatrixEntity> queryBuildingMatrix(CztBuildingMatrixEntity entity);

    List<CbvInfoMatrixValueEntity> getInfoMatrixById(String pId);

    void deleteBasicLibrary(String id);
}
